package leetcode2;

import java.util.*;
public class test4 {
//    public void moveZeroes(int[] nums) {
//        Map<Integer, Integer> map = new HashMap<>();
//        for (int i = 0; i < nums.length; i++) {
//            map.put(i, nums[i]);
//        }
//        List<Integer> list = new ArrayList<>();
//        int index = 0;
//        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
//            if (entry.getValue() != 0) {
//                list.add(entry.getValue());
//            } else
//                index++;
//        }
//        for (int i = 0; i < index; i++) {
//            list.add(0);
//        }
//    }
//
//    public static void main(String[] args) {
//        int[] num = {0,1,0,3,12,231,0,2131};
//        moveZeroes(num);
//    }
      public void moveZeroes(int[] nums){
          int l = 0;
          int r = 0;
          for(int i = 0;i < nums.length;i++){
              if(l == r ||nums[r] == 0){
                  r++;
              }
              else if(nums[l] !=0){
                  l++;
              }
              else {
                  nums[l] = nums[r];
                  nums[r] = 0;
              }
          }
      }
}
